function BFS(root) {
  const queue = [] // 初始化队列queue
  queue.push(root) // 根结点首先入队
  // 队列不为空，说明没有遍历完全
  while (queue.length) {
    const top = queue.shift() // 取出队头元素
    console.log(top.val) // 访问 top，顺便出队
    // 如果左子树存在，左子树入队
    if (top.left) {
      queue.push(top.left)
    }
    // 如果右子树存在，右子树入队
    if (top.right) {
      queue.push(top.right)
    }
  }
}
